// 订单接口
// 引入express
const express = require('express')
// 引入连接池模块
const pool = require('../pool.js')
const router = express.Router()
// 查找所有订单
// http://localhost:3000/order/

router.get('/', (req, res, next) => {
  
  pool.query(
    'select * from qnls_order', 
    (err, r) => {
      if (err) {
        return next(err)
      }
      console.log(r);
      res.send({ code: 200, msg: '所有订单', data: r })
    }
  )
})
// 通过rid查找订单
router.get('/query', (req,res)=>{
  let {oid} = req.query
  pool.query('select * from qnls_order where oid=?',[oid],(err,r) => {
      if(err){
          return next(err)
      }
      res.send({
          code:200,msg:'查询成功',data:r
      })
  })
})

//test
router.get('/infor/:hid', (req, res, next) => {
  // 获取params传递的参数
  var obj = req.params
  console.log(obj)
  // 执行SQL命令
  pool.query('select * from qnls_order where hid=?', [obj.hid], (err, r) => {
    if (err) {
      // 如果出现mysql错误，把错误交个下一个中间件
      // 阻止往后执行
      return next(err)
    }
    console.log(r)
    res.send({ code: 200, msg: '查询成功', data: r })
  })
})
// router.get('/', (req, res, next) => {
//   pool.query(
//     'select qnls_order.oid,qnls_order.arrdate,qnls_order.leavedate,qnls_order.oprice,qnls_hotellist.hname from qnls_order,qnls_hotellist where qnls_order.hid=qnls_hotellist.hid;',
//     (err, r) => {
//       if (err) {
//         return next(err)
//       }
//       res.send({ code: 200, msg: '所有订单', data: r })
//     }
//   )
// })
// 添加
// http://localhost:3000/order/add
router.post('/add', (req, res, next) => {
  var obj = req.body
  pool.query('insert into qnls_order set ?', [obj], (err, r) => {
    if (err) {
      return next(err)
    }
    res.send({ code: 200, msg: '订单添加成功' })
  })
})
// 修改
// http://localhost:3000/order/put
router.put('/put', (req, res, next) => {
  var obj = req.body
  pool.query(
    'update qnls_order set ? where oid=?',
    [obj, obj.oid],
    (err, r) => {
      if (err) {
        return next(err)
      }
      if (r.changedRows === 0) {
        res.send({ code: 400, msg: '修改失败' })
      } else {
        res.send({ code: 200, msg: '修改成功' })
      }
    }
  )
})
// 删除
// http://localhost:3000/order/del/2
router.delete('/del/:oid', (req, res, next) => {
  // 获取params传递参数
  var obj = req.params
  pool.query('delete from qnls_order where oid=?', [obj.oid], (err, r) => {
    if (err) {
      return next(err)
    }
    if (r.affectedRows === 0) {
      res.send({ code: 400, msg: '删除失败' })
    } else {
      res.send({ code: 200, msg: '删除成功' })
    }
  })
})

// 分页查询用户
router.get('/list', (req, res, next) => {
  // 获取get传递的参数
	var obj=req.query
	console.log(obj)
	// 判断各项是否为空
	if(!obj.page){
		obj.page=1
	}
	if(!obj.pagesize){
		obj.pagesize=2
	}
  // 计算开始查询的值
	var start=(obj.page-1)*obj.pagesize
	// 将每页数据量转为数字
	var size=parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量 
	
  pool.query('select * from qnls_order limit ?,?;select count(oid) as sum from qnls_order',[start,size], (err, r) => {
    if(err) {
			return next(err)
		}
		// 结果是二维数组
		console.log(r)
		// 获取总的数据量
		var t=r[1][0].sum
		// 计算总页数=总数据量/每页显示数据，向上取整
		var p=Math.ceil(t/obj.pagesize)
		// 响应
		res.send({
			code:200,
			msg:'用户列表',
			data: r[0],
			total: t,
			pages: p,
			page: obj.page,
			pagesize: obj.pagesize,
			cat_id: obj.cat_id
		})
  })
})

// 分页模糊查询
// http://localhost:3000/order/mohu
router.post('/mohu',(req,res,next)=>{
	var obj = req.body
	console.log(obj)
	if(!obj.page){
		obj.page=1
	}
	if(!obj.pagesize){
		obj.pagesize=5
	}
	// 计算开始查询的值
	var start=(obj.page-1)*obj.pagesize
	// 将每页数据量转为数字
	var size=parseInt(obj.pagesize)
	// 分页查询 ; 查询总数据量 

    var c = `%${obj.oname}%`
    console.log(c,'123')
    pool.query('select * from qnls_order where oname like ? limit ?,?;select count(oid) sum from qnls_order where oname like ?',[c,start,size,c],(err,r)=>{
      if(err){
        return next(err)
      }
      console.log(r)
      var t=r[1][0].sum
      if(r.length === 0){
        res.send({code:400,msg:'查询失败'})
      } else {
        res.send({
          code:200,
          msg:'查询成功',
          data:r[0],
          total:t,
          page: obj.page,
			    pagesize: obj.pagesize,
        })
      }
    })
})
module.exports = router
